Software and computer programs frequently come under attack by malicious parties who attempt to gain unauthorized access to source code by reverse engineering. Such malicious parties may include pirating communities, malware authors, viruses, and even competitors of the software owner or author, to name a few. Reverse engineering of software or a computer program may result in the owning company or author losing intellectual property, being susceptible to probing for application vulnerabilities, and ultimately suffering the loss of revenue and market share.
Owning companies and authors of software continually search for ways to mitigate the risks that may result from these attacks, such as finding new defensive techniques. One commonly used reverse engineering approach used by attackers is the static analysis of individual functions, such as statically analyzing a binary by focusing on a single function. Preventing or decreasing the ease of and/or increasing the cost and time for performing static analysis of individual functions to help protect the rights, rightful ownership and benefits thereof would benefit the owners and authors of software and computer programs.